package Test02;

import java.util.Arrays;
import java.util.stream.Stream;

//Stream流的使用
public class Test4 {
    public static void main(String[] args) {
        /*
        单列集合      default Stream<E> stream()                             collection中的默认方法
        双列集合      无                                                     无法直接使用stream流
        数组          public static <T> Stream<T> stream(T[] array)         Arrays工具类中的静态方法
        一堆零散数据   public static<T> Stream<T> of(T.. . values)           Stream接口中的静态方法
         */

        //1、创建数组
        int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        String[] arr2 = {"a", "b", "c"};

        //2、获取Stream流
        Arrays.stream(arr1).forEach(s -> System.out.println(s));

        System.out.println("-------");

        Arrays.stream(arr2).forEach(s -> System.out.println(s));

        System.out.println("-------");

        //注意:
        //Stream接口中静态方法of的细节
        //方法的形参是一个可变参数，可以传递一堆零散的数据，也可以传递数组
        //但是数组必须是引用数据类型的，如果传递基本数据类型，是会把整个数组当做一个元素，放到Stream当中。
        Stream.of(arr1).forEach(s -> System.out.println(s));

        System.out.println("-------");

        Stream.of(arr2).forEach(s -> System.out.println(s));
    }
}
